package com.xbai.spark.recall.data

import org.apache.spark.sql.{DataFrame, SparkSession}

/**
  * @author xbai
  * @Date 2021/1/11
  */
class DataLoader {

  /**
    * 用户数据
    * @param spark spark环境
    * @return
    */
  def getUserDataFromFile(spark: SparkSession): DataFrame = {
    FileDataLoader.getUserData(spark)
  }

  /**
    * 物品数据
    * @param spark spark环境
    * @return
    */
  def getItemDataFromFile(spark: SparkSession): DataFrame = {
    FileDataLoader.getItemData(spark)
  }

  /**
    * 用户行为数据
    * @param spark spark环境
    * @return
    */
  def getUserRemainFromFile(spark: SparkSession): DataFrame = {
    FileDataLoader.getUserRemainData(spark)
  }


  /**
    * 从数据库中获取用户数据
    * @param spark spark环境
    * @return
    */
  def getUserDataFromDB(spark: SparkSession): DataFrame = {
    DBDataLoader.getUserData(spark)
  }

  /**
    * 从数据库中获取物品数据
    * @param spark spark环境
    * @return
    */
  def getItemDataFromDB(spark: SparkSession): DataFrame = {
    DBDataLoader.getItemData(spark)
  }

  /**
    * 从数据库中获取用户行为数据
    * @param spark spark环境
    * @return
    */
  def getUserRemainFromDB(spark: SparkSession): DataFrame = {
    DBDataLoader.getUserRemainData(spark)
  }
}
